﻿using System;
using System.CodeDom.Compiler;
using System.Diagnostics;
using Google.Protobuf;
using Google.Protobuf.Collections;
using Google.Protobuf.Reflection;

namespace EggLink.DanhengServer.Proto
{
	// Token: 0x02000521 RID: 1313
	[DebuggerDisplay("{ToString(),nq}")]
	public sealed class FeatureSwitchParam : IMessage<FeatureSwitchParam>, IMessage, IEquatable<FeatureSwitchParam>, IDeepCloneable<FeatureSwitchParam>, IBufferMessage
	{
		// Token: 0x170010FE RID: 4350
		// (get) Token: 0x06003B66 RID: 15206 RVA: 0x000A364C File Offset: 0x000A184C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageParser<FeatureSwitchParam> Parser
		{
			get
			{
				return FeatureSwitchParam._parser;
			}
		}

		// Token: 0x170010FF RID: 4351
		// (get) Token: 0x06003B67 RID: 15207 RVA: 0x000A3653 File Offset: 0x000A1853
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageDescriptor Descriptor
		{
			get
			{
				return FeatureSwitchParamReflection.Descriptor.MessageTypes[0];
			}
		}

		// Token: 0x17001100 RID: 4352
		// (get) Token: 0x06003B68 RID: 15208 RVA: 0x000A3665 File Offset: 0x000A1865
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		MessageDescriptor IMessage.Descriptor
		{
			get
			{
				return FeatureSwitchParam.Descriptor;
			}
		}

		// Token: 0x06003B69 RID: 15209 RVA: 0x000A366C File Offset: 0x000A186C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public FeatureSwitchParam()
		{
		}

		// Token: 0x06003B6A RID: 15210 RVA: 0x000A367F File Offset: 0x000A187F
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public FeatureSwitchParam(FeatureSwitchParam other) : this()
		{
			this.switchList_ = other.switchList_.Clone();
			this._unknownFields = UnknownFieldSet.Clone(other._unknownFields);
		}

		// Token: 0x06003B6B RID: 15211 RVA: 0x000A36A9 File Offset: 0x000A18A9
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public FeatureSwitchParam Clone()
		{
			return new FeatureSwitchParam(this);
		}

		// Token: 0x17001101 RID: 4353
		// (get) Token: 0x06003B6C RID: 15212 RVA: 0x000A36B1 File Offset: 0x000A18B1
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RepeatedField<uint> SwitchList
		{
			get
			{
				return this.switchList_;
			}
		}

		// Token: 0x06003B6D RID: 15213 RVA: 0x000A36B9 File Offset: 0x000A18B9
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override bool Equals(object other)
		{
			return this.Equals(other as FeatureSwitchParam);
		}

		// Token: 0x06003B6E RID: 15214 RVA: 0x000A36C7 File Offset: 0x000A18C7
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool Equals(FeatureSwitchParam other)
		{
			return other != null && (other == this || (this.switchList_.Equals(other.switchList_) && object.Equals(this._unknownFields, other._unknownFields)));
		}

		// Token: 0x06003B6F RID: 15215 RVA: 0x000A36FC File Offset: 0x000A18FC
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override int GetHashCode()
		{
			int num = 1;
			num ^= this.switchList_.GetHashCode();
			if (this._unknownFields != null)
			{
				num ^= this._unknownFields.GetHashCode();
			}
			return num;
		}

		// Token: 0x06003B70 RID: 15216 RVA: 0x000A3730 File Offset: 0x000A1930
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override string ToString()
		{
			return JsonFormatter.ToDiagnosticString(this);
		}

		// Token: 0x06003B71 RID: 15217 RVA: 0x000A3738 File Offset: 0x000A1938
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void WriteTo(CodedOutputStream output)
		{
			output.WriteRawMessage(this);
		}

		// Token: 0x06003B72 RID: 15218 RVA: 0x000A3741 File Offset: 0x000A1941
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalWriteTo(ref WriteContext output)
		{
			this.switchList_.WriteTo(ref output, FeatureSwitchParam._repeated_switchList_codec);
			if (this._unknownFields != null)
			{
				this._unknownFields.WriteTo(ref output);
			}
		}

		// Token: 0x06003B73 RID: 15219 RVA: 0x000A3768 File Offset: 0x000A1968
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public int CalculateSize()
		{
			int num = 0;
			num += this.switchList_.CalculateSize(FeatureSwitchParam._repeated_switchList_codec);
			if (this._unknownFields != null)
			{
				num += this._unknownFields.CalculateSize();
			}
			return num;
		}

		// Token: 0x06003B74 RID: 15220 RVA: 0x000A37A1 File Offset: 0x000A19A1
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(FeatureSwitchParam other)
		{
			if (other == null)
			{
				return;
			}
			this.switchList_.Add(other.switchList_);
			this._unknownFields = UnknownFieldSet.MergeFrom(this._unknownFields, other._unknownFields);
		}

		// Token: 0x06003B75 RID: 15221 RVA: 0x000A37CF File Offset: 0x000A19CF
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(CodedInputStream input)
		{
			input.ReadRawMessage(this);
		}

		// Token: 0x06003B76 RID: 15222 RVA: 0x000A37D8 File Offset: 0x000A19D8
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalMergeFrom(ref ParseContext input)
		{
			uint num;
			while ((num = input.ReadTag()) != 0U)
			{
				if (num != 8U && num != 10U)
				{
					this._unknownFields = UnknownFieldSet.MergeFieldFrom(this._unknownFields, ref input);
				}
				else
				{
					this.switchList_.AddEntriesFrom(ref input, FeatureSwitchParam._repeated_switchList_codec);
				}
			}
		}

		// Token: 0x0400175C RID: 5980
		private static readonly MessageParser<FeatureSwitchParam> _parser = new MessageParser<FeatureSwitchParam>(() => new FeatureSwitchParam());

		// Token: 0x0400175D RID: 5981
		private UnknownFieldSet _unknownFields;

		// Token: 0x0400175E RID: 5982
		public const int SwitchListFieldNumber = 1;

		// Token: 0x0400175F RID: 5983
		private static readonly FieldCodec<uint> _repeated_switchList_codec = FieldCodec.ForUInt32(10U);

		// Token: 0x04001760 RID: 5984
		private readonly RepeatedField<uint> switchList_ = new RepeatedField<uint>();
	}
}
